<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.12"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Os1: ORB_SLAM2::Frame Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Os1
   &#160;<span id="projectnumber">1</span>
   </div>
   <div id="projectbrief">OrbSlam2 documentado y modificado</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.12 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,'Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('class_o_r_b___s_l_a_m2_1_1_frame.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="#pub-static-attribs">Static Public Attributes</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="class_o_r_b___s_l_a_m2_1_1_frame-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">ORB_SLAM2::Frame Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html" title="Frame representa un cuadro, una imagen, con los puntos singulares detectados. ">Frame</a> representa un cuadro, una imagen, con los puntos singulares detectados.  
 <a href="class_o_r_b___s_l_a_m2_1_1_frame.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="_frame_8h_source.html">Frame.h</a>&gt;</code></p>
<div class="dynheader">
Collaboration diagram for ORB_SLAM2::Frame:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="class_o_r_b___s_l_a_m2_1_1_frame__coll__graph.svg" width="1532" height="383"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:adb622f403aea686f757df4e884ea622a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html#adb622f403aea686f757df4e884ea622a">antidistorsionarProyeccionEquidistante</a> (cv::Mat &amp;puntos)</td></tr>
<tr class="memdesc:adb622f403aea686f757df4e884ea622a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Antidistorsiona puntos según el modelo de cámara fisheye de proyección equidistante sin coeficientes de distorsión.  <a href="#adb622f403aea686f757df4e884ea622a">More...</a><br /></td></tr>
<tr class="separator:adb622f403aea686f757df4e884ea622a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa3ba21cd44638b322db024cba2b9c19e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html#aa3ba21cd44638b322db024cba2b9c19e">AssignFeaturesToGrid</a> ()</td></tr>
<tr class="memdesc:aa3ba21cd44638b322db024cba2b9c19e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Asigna los puntos singulares a sus celdas de la grilla.  <a href="#aa3ba21cd44638b322db024cba2b9c19e">More...</a><br /></td></tr>
<tr class="separator:aa3ba21cd44638b322db024cba2b9c19e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac748d2318f9a409406dba4910ff5ef8e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html#ac748d2318f9a409406dba4910ff5ef8e">ComputeBoW</a> ()</td></tr>
<tr class="memdesc:ac748d2318f9a409406dba4910ff5ef8e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computa BoW para todos los descriptores del cuadro.  <a href="#ac748d2318f9a409406dba4910ff5ef8e">More...</a><br /></td></tr>
<tr class="separator:ac748d2318f9a409406dba4910ff5ef8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a420f0369833f856df1973410ea39b335"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html#a420f0369833f856df1973410ea39b335">ComputeImageBounds</a> (const cv::Mat &amp;imLeft)</td></tr>
<tr class="memdesc:a420f0369833f856df1973410ea39b335"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calcula los vértices del cuadro andistorsionado.  <a href="#a420f0369833f856df1973410ea39b335">More...</a><br /></td></tr>
<tr class="separator:a420f0369833f856df1973410ea39b335"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a626aef981e9fd9caff63bf93f1abf47f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html#a626aef981e9fd9caff63bf93f1abf47f">ExtractORB</a> (int flag, const cv::Mat &amp;im)</td></tr>
<tr class="memdesc:a626aef981e9fd9caff63bf93f1abf47f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Procede con la extracción de descriptores ORB.  <a href="#a626aef981e9fd9caff63bf93f1abf47f">More...</a><br /></td></tr>
<tr class="separator:a626aef981e9fd9caff63bf93f1abf47f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa43d601e841ddb7a9f100b0b9afd3b10"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html#aa43d601e841ddb7a9f100b0b9afd3b10">Frame</a> ()</td></tr>
<tr class="memdesc:aa43d601e841ddb7a9f100b0b9afd3b10"><td class="mdescLeft">&#160;</td><td class="mdescRight">El constructor sin argumentos crea un <a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html" title="Frame representa un cuadro, una imagen, con los puntos singulares detectados. ">Frame</a> sin inicialización.  <a href="#aa43d601e841ddb7a9f100b0b9afd3b10">More...</a><br /></td></tr>
<tr class="separator:aa43d601e841ddb7a9f100b0b9afd3b10"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac7e6ed9973b81ec85e91228e3d4ecf22"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html#ac7e6ed9973b81ec85e91228e3d4ecf22">Frame</a> (const <a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html">Frame</a> &amp;frame)</td></tr>
<tr class="memdesc:ac7e6ed9973b81ec85e91228e3d4ecf22"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor de copia, clona un frame.  <a href="#ac7e6ed9973b81ec85e91228e3d4ecf22">More...</a><br /></td></tr>
<tr class="separator:ac7e6ed9973b81ec85e91228e3d4ecf22"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a39a57316938495a9ca8a053edd74b414"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html#a39a57316938495a9ca8a053edd74b414">Frame</a> (const cv::Mat &amp;imGray, const double &amp;timeStamp, <a class="el" href="class_o_r_b___s_l_a_m2_1_1_o_r_bextractor.html">ORBextractor</a> *extractor, <a class="el" href="namespace_o_r_b___s_l_a_m2.html#a2fafba714858cab1bb18d438e2e83c5d">ORBVocabulary</a> *voc, cv::Mat &amp;K, cv::Mat &amp;distCoef, const float &amp;bf, const float &amp;thDepth)</td></tr>
<tr class="memdesc:a39a57316938495a9ca8a053edd74b414"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor que crea un <a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html" title="Frame representa un cuadro, una imagen, con los puntos singulares detectados. ">Frame</a> y lo llena con los argumentos.  <a href="#a39a57316938495a9ca8a053edd74b414">More...</a><br /></td></tr>
<tr class="separator:a39a57316938495a9ca8a053edd74b414"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a48c8983df3a521ed7439d9654b28e390"><td class="memItemLeft" align="right" valign="top">cv::Mat&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html#a48c8983df3a521ed7439d9654b28e390">GetCameraCenter</a> ()</td></tr>
<tr class="memdesc:a48c8983df3a521ed7439d9654b28e390"><td class="mdescLeft">&#160;</td><td class="mdescRight">Devuelve el vector de la posición de la cámara, el centro de la cámara.  <a href="#a48c8983df3a521ed7439d9654b28e390">More...</a><br /></td></tr>
<tr class="separator:a48c8983df3a521ed7439d9654b28e390"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a922a340f438ed0ddd2d7d2a9f95872b6"><td class="memItemLeft" align="right" valign="top">vector&lt; size_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html#a922a340f438ed0ddd2d7d2a9f95872b6">GetFeaturesInArea</a> (const float &amp;x, const float &amp;y, const float &amp;r, const int minLevel=-1, const int maxLevel=-1) const</td></tr>
<tr class="memdesc:a922a340f438ed0ddd2d7d2a9f95872b6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Selecciona los puntos dentro de una ventana cuadrada de centro x,y y lado r.  <a href="#a922a340f438ed0ddd2d7d2a9f95872b6">More...</a><br /></td></tr>
<tr class="separator:a922a340f438ed0ddd2d7d2a9f95872b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a96ec2c272f2ecea3f94b8472add80478"><td class="memItemLeft" align="right" valign="top">cv::Mat&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html#a96ec2c272f2ecea3f94b8472add80478">GetRotationInverse</a> ()</td></tr>
<tr class="memdesc:a96ec2c272f2ecea3f94b8472add80478"><td class="mdescLeft">&#160;</td><td class="mdescRight">Devuelve la inversa de la rotación.  <a href="#a96ec2c272f2ecea3f94b8472add80478">More...</a><br /></td></tr>
<tr class="separator:a96ec2c272f2ecea3f94b8472add80478"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0929e100e3380dba1baba12dfa8904c4"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html#a0929e100e3380dba1baba12dfa8904c4">isInFrustum</a> (<a class="el" href="class_o_r_b___s_l_a_m2_1_1_map_point.html">MapPoint</a> *pMP, float viewingCosLimit)</td></tr>
<tr class="memdesc:a0929e100e3380dba1baba12dfa8904c4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Indica si un determinado punto 3D se encuentra en el subespacio visual (frustum) del cuadro.  <a href="#a0929e100e3380dba1baba12dfa8904c4">More...</a><br /></td></tr>
<tr class="separator:a0929e100e3380dba1baba12dfa8904c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae2bc4b1482d2010511da5423d298c9bd"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html#ae2bc4b1482d2010511da5423d298c9bd">PosInGrid</a> (const cv::KeyPoint &amp;kp, int &amp;posX, int &amp;posY)</td></tr>
<tr class="memdesc:ae2bc4b1482d2010511da5423d298c9bd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calcula las coordenadas de la celda en la grilla, a la que pertenece un punto singular.  <a href="#ae2bc4b1482d2010511da5423d298c9bd">More...</a><br /></td></tr>
<tr class="separator:ae2bc4b1482d2010511da5423d298c9bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a95cf2ea68735ef3e8c2d820eada11bf4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html#a95cf2ea68735ef3e8c2d820eada11bf4">SetPose</a> (cv::Mat Tcw)</td></tr>
<tr class="memdesc:a95cf2ea68735ef3e8c2d820eada11bf4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setter de pose.  <a href="#a95cf2ea68735ef3e8c2d820eada11bf4">More...</a><br /></td></tr>
<tr class="separator:a95cf2ea68735ef3e8c2d820eada11bf4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2a97fc690d8c1cd5e975d19440a31657"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html#a2a97fc690d8c1cd5e975d19440a31657">UndistortKeyPoints</a> ()</td></tr>
<tr class="memdesc:a2a97fc690d8c1cd5e975d19440a31657"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calcula los puntos singulares de mvKeysUn.  <a href="#a2a97fc690d8c1cd5e975d19440a31657">More...</a><br /></td></tr>
<tr class="separator:a2a97fc690d8c1cd5e975d19440a31657"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0a18d3024a23f6fa2cab9c7d987598c2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html#a0a18d3024a23f6fa2cab9c7d987598c2">UpdatePoseMatrices</a> ()</td></tr>
<tr class="memdesc:a0a18d3024a23f6fa2cab9c7d987598c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calcula las matrices de posición mRcw, mtcw y mOw a partir de la pose mTcw.  <a href="#a0a18d3024a23f6fa2cab9c7d987598c2">More...</a><br /></td></tr>
<tr class="separator:a0a18d3024a23f6fa2cab9c7d987598c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a8dc5552a9cb0f5aa8ba2c13b5e7c95fb"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html#a8dc5552a9cb0f5aa8ba2c13b5e7c95fb">camaraModo</a></td></tr>
<tr class="memdesc:a8dc5552a9cb0f5aa8ba2c13b5e7c95fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Modo de cámara, 0 normal, 1 fisheye sin distorsión.  <a href="#a8dc5552a9cb0f5aa8ba2c13b5e7c95fb">More...</a><br /></td></tr>
<tr class="separator:a8dc5552a9cb0f5aa8ba2c13b5e7c95fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a950131e5ed7fca2a73fc5a50e6d9b2de"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html#a950131e5ed7fca2a73fc5a50e6d9b2de">mb</a></td></tr>
<tr class="memdesc:a950131e5ed7fca2a73fc5a50e6d9b2de"><td class="mdescLeft">&#160;</td><td class="mdescRight">No usado en monocular.  <a href="#a950131e5ed7fca2a73fc5a50e6d9b2de">More...</a><br /></td></tr>
<tr class="separator:a950131e5ed7fca2a73fc5a50e6d9b2de"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afb4090340565194b372b2ce0d95f16fb"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html#afb4090340565194b372b2ce0d95f16fb">mbf</a></td></tr>
<tr class="memdesc:afb4090340565194b372b2ce0d95f16fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">No usado en monocular.  <a href="#afb4090340565194b372b2ce0d95f16fb">More...</a><br /></td></tr>
<tr class="separator:afb4090340565194b372b2ce0d95f16fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a68bbc187861a8e5c0ed9d92b5308c2cb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_d_bo_w2_1_1_bow_vector.html">DBoW2::BowVector</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html#a68bbc187861a8e5c0ed9d92b5308c2cb">mBowVec</a></td></tr>
<tr class="memdesc:a68bbc187861a8e5c0ed9d92b5308c2cb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Vector BoW correspondiente a los puntos singulares.  <a href="#a68bbc187861a8e5c0ed9d92b5308c2cb">More...</a><br /></td></tr>
<tr class="separator:a68bbc187861a8e5c0ed9d92b5308c2cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0dfc1a363215ad0a09303e612a1ffbe7"><td class="memItemLeft" align="right" valign="top">cv::Mat&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html#a0dfc1a363215ad0a09303e612a1ffbe7">mDescriptors</a></td></tr>
<tr class="memdesc:a0dfc1a363215ad0a09303e612a1ffbe7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Descriptores ORB en el formato Mat, tal como los devuelve opencv.  <a href="#a0dfc1a363215ad0a09303e612a1ffbe7">More...</a><br /></td></tr>
<tr class="separator:a0dfc1a363215ad0a09303e612a1ffbe7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afe3cee153dda7e06d5004fd959fcd88e"><td class="memItemLeft" align="right" valign="top">cv::Mat&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html#afe3cee153dda7e06d5004fd959fcd88e">mDescriptorsRight</a></td></tr>
<tr class="separator:afe3cee153dda7e06d5004fd959fcd88e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aef15cff1b0d7572f49975d3200ffd140"><td class="memItemLeft" align="right" valign="top">cv::Mat&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html#aef15cff1b0d7572f49975d3200ffd140">mDistCoef</a></td></tr>
<tr class="memdesc:aef15cff1b0d7572f49975d3200ffd140"><td class="mdescLeft">&#160;</td><td class="mdescRight">Coeficientes de distorsión de cámara mDistCoef.  <a href="#aef15cff1b0d7572f49975d3200ffd140">More...</a><br /></td></tr>
<tr class="separator:aef15cff1b0d7572f49975d3200ffd140"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8153622c07ed98421bd7c7b2b7451b03"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_d_bo_w2_1_1_feature_vector.html">DBoW2::FeatureVector</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html#a8153622c07ed98421bd7c7b2b7451b03">mFeatVec</a></td></tr>
<tr class="memdesc:a8153622c07ed98421bd7c7b2b7451b03"><td class="mdescLeft">&#160;</td><td class="mdescRight">Vector "Feature" correspondiente a los puntos singulares.  <a href="#a8153622c07ed98421bd7c7b2b7451b03">More...</a><br /></td></tr>
<tr class="separator:a8153622c07ed98421bd7c7b2b7451b03"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad3ddefb0665fb5128391a7e59a236e9a"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html#ad3ddefb0665fb5128391a7e59a236e9a">mfLogScaleFactor</a></td></tr>
<tr class="memdesc:ad3ddefb0665fb5128391a7e59a236e9a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Factor de escala logarítmico.  <a href="#ad3ddefb0665fb5128391a7e59a236e9a">More...</a><br /></td></tr>
<tr class="separator:ad3ddefb0665fb5128391a7e59a236e9a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aab180286bac29f4e030ce850c51c435c"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html#aab180286bac29f4e030ce850c51c435c">mfScaleFactor</a></td></tr>
<tr class="memdesc:aab180286bac29f4e030ce850c51c435c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Factor de escala entre niveles de la pirámide.  <a href="#aab180286bac29f4e030ce850c51c435c">More...</a><br /></td></tr>
<tr class="separator:aab180286bac29f4e030ce850c51c435c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a194dca06186458639d46234d828afeed"><td class="memItemLeft" align="right" valign="top">std::vector&lt; std::size_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html#a194dca06186458639d46234d828afeed">mGrid</a> [<a class="el" href="_frame_8h.html#a3ef79fa8924a9c5df3cddac58a52ab0c">FRAME_GRID_COLS</a>][<a class="el" href="_frame_8h.html#a9550f0488f3dac9a5c56f0d3c07c01c1">FRAME_GRID_ROWS</a>]</td></tr>
<tr class="separator:a194dca06186458639d46234d828afeed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6508d43259538370dcb77911122dc85b"><td class="memItemLeft" align="right" valign="top">cv::Mat&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html#a6508d43259538370dcb77911122dc85b">mK</a></td></tr>
<tr class="memdesc:a6508d43259538370dcb77911122dc85b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Matriz K intrínseca, de cámara.  <a href="#a6508d43259538370dcb77911122dc85b">More...</a><br /></td></tr>
<tr class="separator:a6508d43259538370dcb77911122dc85b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd59686475a89bfdfcae316dfa6b6069"><td class="memItemLeft" align="right" valign="top">long unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html#acd59686475a89bfdfcae316dfa6b6069">mnId</a></td></tr>
<tr class="memdesc:acd59686475a89bfdfcae316dfa6b6069"><td class="mdescLeft">&#160;</td><td class="mdescRight">Id incremental que identifica a este frame.  <a href="#acd59686475a89bfdfcae316dfa6b6069">More...</a><br /></td></tr>
<tr class="separator:acd59686475a89bfdfcae316dfa6b6069"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4c4b02f27be28aec6cb8bb1bab3f622f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html#a4c4b02f27be28aec6cb8bb1bab3f622f">mnScaleLevels</a></td></tr>
<tr class="memdesc:a4c4b02f27be28aec6cb8bb1bab3f622f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cantidad de niveles en la pirámide.  <a href="#a4c4b02f27be28aec6cb8bb1bab3f622f">More...</a><br /></td></tr>
<tr class="separator:a4c4b02f27be28aec6cb8bb1bab3f622f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c4f28562114c30c6276f2e42aac6607"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_o_r_bextractor.html">ORBextractor</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html#a5c4f28562114c30c6276f2e42aac6607">mpORBextractorLeft</a></td></tr>
<tr class="memdesc:a5c4f28562114c30c6276f2e42aac6607"><td class="mdescLeft">&#160;</td><td class="mdescRight">Extractor usado para extraer descriptores.  <a href="#a5c4f28562114c30c6276f2e42aac6607">More...</a><br /></td></tr>
<tr class="separator:a5c4f28562114c30c6276f2e42aac6607"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4c54c9963da838cd6fa83a65930bd1b7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespace_o_r_b___s_l_a_m2.html#a2fafba714858cab1bb18d438e2e83c5d">ORBVocabulary</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html#a4c54c9963da838cd6fa83a65930bd1b7">mpORBvocabulary</a></td></tr>
<tr class="memdesc:a4c54c9963da838cd6fa83a65930bd1b7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Vocabulario BOW para clasificar descriptores.  <a href="#a4c54c9963da838cd6fa83a65930bd1b7">More...</a><br /></td></tr>
<tr class="separator:a4c54c9963da838cd6fa83a65930bd1b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f5187c3a75ef493687fa0582fed0aa8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_key_frame.html">KeyFrame</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html#a4f5187c3a75ef493687fa0582fed0aa8">mpReferenceKF</a></td></tr>
<tr class="memdesc:a4f5187c3a75ef493687fa0582fed0aa8"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_key_frame.html" title="Cuadro clave, keyframe. ">KeyFrame</a> de referencia.  <a href="#a4f5187c3a75ef493687fa0582fed0aa8">More...</a><br /></td></tr>
<tr class="separator:a4f5187c3a75ef493687fa0582fed0aa8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3be6708cfd359fae30307f9408abd6f9"><td class="memItemLeft" align="right" valign="top">cv::Mat&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html#a3be6708cfd359fae30307f9408abd6f9">mTcw</a></td></tr>
<tr class="memdesc:a3be6708cfd359fae30307f9408abd6f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pose de la cámara.  <a href="#a3be6708cfd359fae30307f9408abd6f9">More...</a><br /></td></tr>
<tr class="separator:a3be6708cfd359fae30307f9408abd6f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a15e0251e1e18b84f385ad817f0e8ba1a"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html#a15e0251e1e18b84f385ad817f0e8ba1a">mThDepth</a></td></tr>
<tr class="memdesc:a15e0251e1e18b84f385ad817f0e8ba1a"><td class="mdescLeft">&#160;</td><td class="mdescRight">No usado en monocular.  <a href="#a15e0251e1e18b84f385ad817f0e8ba1a">More...</a><br /></td></tr>
<tr class="separator:a15e0251e1e18b84f385ad817f0e8ba1a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7987de59d3b4bf655614e19db0c90278"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html#a7987de59d3b4bf655614e19db0c90278">mTimeStamp</a></td></tr>
<tr class="memdesc:a7987de59d3b4bf655614e19db0c90278"><td class="mdescLeft">&#160;</td><td class="mdescRight">Time stamp de la captura de la imagen.  <a href="#a7987de59d3b4bf655614e19db0c90278">More...</a><br /></td></tr>
<tr class="separator:a7987de59d3b4bf655614e19db0c90278"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa05cc57f36b5b04a2e1690e576c93fc8"><td class="memItemLeft" align="right" valign="top">std::vector&lt; bool &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html#aa05cc57f36b5b04a2e1690e576c93fc8">mvbOutlier</a></td></tr>
<tr class="memdesc:aa05cc57f36b5b04a2e1690e576c93fc8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flag que indica si hay outliers asociados en mvpMapPoints.  <a href="#aa05cc57f36b5b04a2e1690e576c93fc8">More...</a><br /></td></tr>
<tr class="separator:aa05cc57f36b5b04a2e1690e576c93fc8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4232b92ebf890728291ef2a66e7d39bb"><td class="memItemLeft" align="right" valign="top">std::vector&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html#a4232b92ebf890728291ef2a66e7d39bb">mvDepth</a></td></tr>
<tr class="memdesc:a4232b92ebf890728291ef2a66e7d39bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">-1 para monocular.  <a href="#a4232b92ebf890728291ef2a66e7d39bb">More...</a><br /></td></tr>
<tr class="separator:a4232b92ebf890728291ef2a66e7d39bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1979f999e1d3a858bf7db733791a477e"><td class="memItemLeft" align="right" valign="top">vector&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html#a1979f999e1d3a858bf7db733791a477e">mvInvLevelSigma2</a></td></tr>
<tr class="memdesc:a1979f999e1d3a858bf7db733791a477e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Inversa de mvLevelSigma2.  <a href="#a1979f999e1d3a858bf7db733791a477e">More...</a><br /></td></tr>
<tr class="separator:a1979f999e1d3a858bf7db733791a477e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4c7ed1316a886b9a7c3f02ee13219b8c"><td class="memItemLeft" align="right" valign="top">vector&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html#a4c7ed1316a886b9a7c3f02ee13219b8c">mvInvScaleFactors</a></td></tr>
<tr class="memdesc:a4c7ed1316a886b9a7c3f02ee13219b8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Inversa de mvScaleFactors.  <a href="#a4c7ed1316a886b9a7c3f02ee13219b8c">More...</a><br /></td></tr>
<tr class="separator:a4c7ed1316a886b9a7c3f02ee13219b8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a86563de6facec0433e31f726723057e4"><td class="memItemLeft" align="right" valign="top">std::vector&lt; cv::KeyPoint &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html#a86563de6facec0433e31f726723057e4">mvKeys</a></td></tr>
<tr class="memdesc:a86563de6facec0433e31f726723057e4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Vector de puntos singulares obtenidos por el detector, tal como los devuelve opencv.  <a href="#a86563de6facec0433e31f726723057e4">More...</a><br /></td></tr>
<tr class="separator:a86563de6facec0433e31f726723057e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a13737fa65f0ce693275f1919240bac35"><td class="memItemLeft" align="right" valign="top">std::vector&lt; cv::KeyPoint &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html#a13737fa65f0ce693275f1919240bac35">mvKeysUn</a></td></tr>
<tr class="memdesc:a13737fa65f0ce693275f1919240bac35"><td class="mdescLeft">&#160;</td><td class="mdescRight">Vector de puntos antidistorsionados, mvKeys corregidos según los coeficientes de distorsión.  <a href="#a13737fa65f0ce693275f1919240bac35">More...</a><br /></td></tr>
<tr class="separator:a13737fa65f0ce693275f1919240bac35"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afba8ed34e98d14761be2c1922863cd65"><td class="memItemLeft" align="right" valign="top">vector&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html#afba8ed34e98d14761be2c1922863cd65">mvLevelSigma2</a></td></tr>
<tr class="memdesc:afba8ed34e98d14761be2c1922863cd65"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cuadrado de mvScaleFactos.  <a href="#afba8ed34e98d14761be2c1922863cd65">More...</a><br /></td></tr>
<tr class="separator:afba8ed34e98d14761be2c1922863cd65"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a48e791ae28b483211dad6b3474027935"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="class_o_r_b___s_l_a_m2_1_1_map_point.html">MapPoint</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html#a48e791ae28b483211dad6b3474027935">mvpMapPoints</a></td></tr>
<tr class="memdesc:a48e791ae28b483211dad6b3474027935"><td class="mdescLeft">&#160;</td><td class="mdescRight">Vector de puntos 3D del mapa asociados a los puntos singulares.  <a href="#a48e791ae28b483211dad6b3474027935">More...</a><br /></td></tr>
<tr class="separator:a48e791ae28b483211dad6b3474027935"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a55d7bd3fa5d3fa8d2ecf18609e91f98e"><td class="memItemLeft" align="right" valign="top">vector&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html#a55d7bd3fa5d3fa8d2ecf18609e91f98e">mvScaleFactors</a></td></tr>
<tr class="memdesc:a55d7bd3fa5d3fa8d2ecf18609e91f98e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Vector de factores de escala de cada nivel de la pirámide.  <a href="#a55d7bd3fa5d3fa8d2ecf18609e91f98e">More...</a><br /></td></tr>
<tr class="separator:a55d7bd3fa5d3fa8d2ecf18609e91f98e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a09a1957b966542e640ecabc41ec76c16"><td class="memItemLeft" align="right" valign="top">std::vector&lt; float &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html#a09a1957b966542e640ecabc41ec76c16">mvuRight</a></td></tr>
<tr class="memdesc:a09a1957b966542e640ecabc41ec76c16"><td class="mdescLeft">&#160;</td><td class="mdescRight">-1 para monocular.  <a href="#a09a1957b966542e640ecabc41ec76c16">More...</a><br /></td></tr>
<tr class="separator:a09a1957b966542e640ecabc41ec76c16"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0035828f1744f1bdd4ae8681e7cbbd32"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html#a0035828f1744f1bdd4ae8681e7cbbd32">N</a></td></tr>
<tr class="memdesc:a0035828f1744f1bdd4ae8681e7cbbd32"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cantidad de puntos singulares.  <a href="#a0035828f1744f1bdd4ae8681e7cbbd32">More...</a><br /></td></tr>
<tr class="separator:a0035828f1744f1bdd4ae8681e7cbbd32"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a>
Static Public Attributes</h2></td></tr>
<tr class="memitem:a5f2803f215bc30016bd0833d8c7d5942"><td class="memItemLeft" align="right" valign="top">static float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html#a5f2803f215bc30016bd0833d8c7d5942">cx</a></td></tr>
<tr class="memdesc:a5f2803f215bc30016bd0833d8c7d5942"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parámetro intrínseco.  <a href="#a5f2803f215bc30016bd0833d8c7d5942">More...</a><br /></td></tr>
<tr class="separator:a5f2803f215bc30016bd0833d8c7d5942"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abf6a631b787270da2d5b3c0f53615b62"><td class="memItemLeft" align="right" valign="top">static float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html#abf6a631b787270da2d5b3c0f53615b62">cy</a></td></tr>
<tr class="memdesc:abf6a631b787270da2d5b3c0f53615b62"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parámetro intrínseco.  <a href="#abf6a631b787270da2d5b3c0f53615b62">More...</a><br /></td></tr>
<tr class="separator:abf6a631b787270da2d5b3c0f53615b62"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab505e3f86afa1c3d16b98fda89ec394c"><td class="memItemLeft" align="right" valign="top">static float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html#ab505e3f86afa1c3d16b98fda89ec394c">fx</a></td></tr>
<tr class="memdesc:ab505e3f86afa1c3d16b98fda89ec394c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parámetros intrínsecos fx, fy, cx, cy.  <a href="#ab505e3f86afa1c3d16b98fda89ec394c">More...</a><br /></td></tr>
<tr class="separator:ab505e3f86afa1c3d16b98fda89ec394c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a226a0adc90bc7a09502fc4db00ee20d7"><td class="memItemLeft" align="right" valign="top">static float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html#a226a0adc90bc7a09502fc4db00ee20d7">fy</a></td></tr>
<tr class="memdesc:a226a0adc90bc7a09502fc4db00ee20d7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parámetro intrínseco.  <a href="#a226a0adc90bc7a09502fc4db00ee20d7">More...</a><br /></td></tr>
<tr class="separator:a226a0adc90bc7a09502fc4db00ee20d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a617c29a929afd74d599c9e41fc71abea"><td class="memItemLeft" align="right" valign="top">static float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html#a617c29a929afd74d599c9e41fc71abea">invfx</a></td></tr>
<tr class="memdesc:a617c29a929afd74d599c9e41fc71abea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Inversa del parámetro intrínseco.  <a href="#a617c29a929afd74d599c9e41fc71abea">More...</a><br /></td></tr>
<tr class="separator:a617c29a929afd74d599c9e41fc71abea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad1dfdeb6378b11477c1b94233f881345"><td class="memItemLeft" align="right" valign="top">static float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html#ad1dfdeb6378b11477c1b94233f881345">invfy</a></td></tr>
<tr class="memdesc:ad1dfdeb6378b11477c1b94233f881345"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parámetro intrínseco.  <a href="#ad1dfdeb6378b11477c1b94233f881345">More...</a><br /></td></tr>
<tr class="separator:ad1dfdeb6378b11477c1b94233f881345"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9f57238f88850695d8cf032b5af0dad6"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html#a9f57238f88850695d8cf032b5af0dad6">mbInitialComputations</a> =true</td></tr>
<tr class="memdesc:a9f57238f88850695d8cf032b5af0dad6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Esta variable se pone en uno con un argumento del constructor solamente cuando se crea el primer <a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html" title="Frame representa un cuadro, una imagen, con los puntos singulares detectados. ">Frame</a>.  <a href="#a9f57238f88850695d8cf032b5af0dad6">More...</a><br /></td></tr>
<tr class="separator:a9f57238f88850695d8cf032b5af0dad6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a010327bee872485894b5905d17462086"><td class="memItemLeft" align="right" valign="top">static float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html#a010327bee872485894b5905d17462086">mfGridElementHeightInv</a></td></tr>
<tr class="memdesc:a010327bee872485894b5905d17462086"><td class="mdescLeft">&#160;</td><td class="mdescRight">mfGridElementHeightInv es la inversa del altoo de la celda en píxeles.  <a href="#a010327bee872485894b5905d17462086">More...</a><br /></td></tr>
<tr class="separator:a010327bee872485894b5905d17462086"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc2f7799428918dbbf46f7dfc4ccd59d"><td class="memItemLeft" align="right" valign="top">static float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html#afc2f7799428918dbbf46f7dfc4ccd59d">mfGridElementWidthInv</a></td></tr>
<tr class="memdesc:afc2f7799428918dbbf46f7dfc4ccd59d"><td class="mdescLeft">&#160;</td><td class="mdescRight">mfGridElementWidthInv es la inversa del ancho de la celda en píxeles.  <a href="#afc2f7799428918dbbf46f7dfc4ccd59d">More...</a><br /></td></tr>
<tr class="separator:afc2f7799428918dbbf46f7dfc4ccd59d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ade32bf37203ae9578e4bd9a02cc0f7c1"><td class="memItemLeft" align="right" valign="top">static float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html#ade32bf37203ae9578e4bd9a02cc0f7c1">mnMaxX</a></td></tr>
<tr class="memdesc:ade32bf37203ae9578e4bd9a02cc0f7c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Vértices de la imagen antidistorsionada: mnMinX, mnMinY, mnMaxX, mnMaxY.  <a href="#ade32bf37203ae9578e4bd9a02cc0f7c1">More...</a><br /></td></tr>
<tr class="separator:ade32bf37203ae9578e4bd9a02cc0f7c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac63dd82413eba002462109e625207ab4"><td class="memItemLeft" align="right" valign="top">static float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html#ac63dd82413eba002462109e625207ab4">mnMaxY</a></td></tr>
<tr class="memdesc:ac63dd82413eba002462109e625207ab4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Vértices de la imagen antidistorsionada: mnMinX, mnMinY, mnMaxX, mnMaxY.  <a href="#ac63dd82413eba002462109e625207ab4">More...</a><br /></td></tr>
<tr class="separator:ac63dd82413eba002462109e625207ab4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac119d458dd562196240e72b7dbb54f3d"><td class="memItemLeft" align="right" valign="top">static float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html#ac119d458dd562196240e72b7dbb54f3d">mnMinX</a></td></tr>
<tr class="memdesc:ac119d458dd562196240e72b7dbb54f3d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Vértices de la imagen antidistorsionada: mnMinX, mnMinY, mnMaxX, mnMaxY.  <a href="#ac119d458dd562196240e72b7dbb54f3d">More...</a><br /></td></tr>
<tr class="separator:ac119d458dd562196240e72b7dbb54f3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a38d30251e5bf5e44411e83b688dfac97"><td class="memItemLeft" align="right" valign="top">static float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html#a38d30251e5bf5e44411e83b688dfac97">mnMinY</a></td></tr>
<tr class="memdesc:a38d30251e5bf5e44411e83b688dfac97"><td class="mdescLeft">&#160;</td><td class="mdescRight">Vértices de la imagen antidistorsionada: mnMinX, mnMinY, mnMaxX, mnMaxY.  <a href="#a38d30251e5bf5e44411e83b688dfac97">More...</a><br /></td></tr>
<tr class="separator:a38d30251e5bf5e44411e83b688dfac97"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1ea8a00151931d155747283850467733"><td class="memItemLeft" align="right" valign="top">static long unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html#a1ea8a00151931d155747283850467733">nNextId</a> =0</td></tr>
<tr class="memdesc:a1ea8a00151931d155747283850467733"><td class="mdescLeft">&#160;</td><td class="mdescRight">Id incremental con el valor para el frame siguiente.  <a href="#a1ea8a00151931d155747283850467733">More...</a><br /></td></tr>
<tr class="separator:a1ea8a00151931d155747283850467733"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:a4315630bb510b424d8b089975135199a"><td class="memItemLeft" align="right" valign="top">cv::Mat&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html#a4315630bb510b424d8b089975135199a">mOw</a></td></tr>
<tr class="memdesc:a4315630bb510b424d8b089975135199a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Vector centro de cámara, igual al vector traslación.  <a href="#a4315630bb510b424d8b089975135199a">More...</a><br /></td></tr>
<tr class="separator:a4315630bb510b424d8b089975135199a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3923c4b0fc83ab5fdba34ddd823621c6"><td class="memItemLeft" align="right" valign="top">cv::Mat&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html#a3923c4b0fc83ab5fdba34ddd823621c6">mRcw</a></td></tr>
<tr class="memdesc:a3923c4b0fc83ab5fdba34ddd823621c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Matriz R de rotación.  <a href="#a3923c4b0fc83ab5fdba34ddd823621c6">More...</a><br /></td></tr>
<tr class="separator:a3923c4b0fc83ab5fdba34ddd823621c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afda03a992077579e0ed3c20240eef276"><td class="memItemLeft" align="right" valign="top">cv::Mat&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html#afda03a992077579e0ed3c20240eef276">mRwc</a></td></tr>
<tr class="memdesc:afda03a992077579e0ed3c20240eef276"><td class="mdescLeft">&#160;</td><td class="mdescRight">Matriz de rotación inversa, del mundo respecto de la cámara.  <a href="#afda03a992077579e0ed3c20240eef276">More...</a><br /></td></tr>
<tr class="separator:afda03a992077579e0ed3c20240eef276"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a31b2fa3a66f2855ec0c71c9ba34cfa8f"><td class="memItemLeft" align="right" valign="top">cv::Mat&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html#a31b2fa3a66f2855ec0c71c9ba34cfa8f">mtcw</a></td></tr>
<tr class="memdesc:a31b2fa3a66f2855ec0c71c9ba34cfa8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Vector t de traslación.  <a href="#a31b2fa3a66f2855ec0c71c9ba34cfa8f">More...</a><br /></td></tr>
<tr class="separator:a31b2fa3a66f2855ec0c71c9ba34cfa8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html" title="Frame representa un cuadro, una imagen, con los puntos singulares detectados. ">Frame</a> representa un cuadro, una imagen, con los puntos singulares detectados. </p>
<p><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html" title="Frame representa un cuadro, una imagen, con los puntos singulares detectados. ">Frame</a> representa una toma de cámara, con su imagen, los puntos 2D detectados, sus descriptores, su mapeo en 3D y demás. <a class="el" href="class_o_r_b___s_l_a_m2_1_1_tracking.html" title="Objeto único que se ejecuta en su propio Trhead, y se inicia con Run(). ">Tracking</a> utiliza 3 Frames:</p><ul>
<li>mCurrentFrame</li>
<li>mInitialFrame</li>
<li>mLastFrame</li>
</ul>
<p>Cada cuadro tiene su propia matriz K de calibración. Usualmente es la misma matriz (los mismos valores) para todos los cuadros y keyframes. El constructor clona el Mat K, haciendo una copia propia.</p>
<p>El constructor analiza la imagen, pero no la guarda. La imagen se pierde cuando el constructor termina. Parte de este análisis consiste en detectar puntos singulares, extraer sus descriptores y clasificarlos </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="aa43d601e841ddb7a9f100b0b9afd3b10"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ORB_SLAM2::Frame::Frame </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>El constructor sin argumentos crea un <a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html" title="Frame representa un cuadro, una imagen, con los puntos singulares detectados. ">Frame</a> sin inicialización. </p>
<p>El único dato inicializado es nNextId=0. </p>

</div>
</div>
<a id="ac7e6ed9973b81ec85e91228e3d4ecf22"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ORB_SLAM2::Frame::Frame </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html">Frame</a> &amp;&#160;</td>
          <td class="paramname"><em>frame</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Constructor de copia, clona un frame. </p>

</div>
</div>
<a id="a39a57316938495a9ca8a053edd74b414"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ORB_SLAM2::Frame::Frame </td>
          <td>(</td>
          <td class="paramtype">const cv::Mat &amp;&#160;</td>
          <td class="paramname"><em>imGray</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const double &amp;&#160;</td>
          <td class="paramname"><em>timeStamp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_o_r_bextractor.html">ORBextractor</a> *&#160;</td>
          <td class="paramname"><em>extractor</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespace_o_r_b___s_l_a_m2.html#a2fafba714858cab1bb18d438e2e83c5d">ORBVocabulary</a> *&#160;</td>
          <td class="paramname"><em>voc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">cv::Mat &amp;&#160;</td>
          <td class="paramname"><em>K</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">cv::Mat &amp;&#160;</td>
          <td class="paramname"><em>distCoef</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const float &amp;&#160;</td>
          <td class="paramname"><em>bf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const float &amp;&#160;</td>
          <td class="paramname"><em>thDepth</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Constructor que crea un <a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html" title="Frame representa un cuadro, una imagen, con los puntos singulares detectados. ">Frame</a> y lo llena con los argumentos. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">timeStamp</td><td>Marca de tiempo, para registro. ORB-SLAM no la utiliza. </td></tr>
    <tr><td class="paramname">extractor</td><td>Algoritmo extractor usado para obtener los descriptores. ORB-SLAM utiliza exclusivamente el extractor BRIEF de ORB.</td></tr>
  </table>
  </dd>
</dl>
<p>Se distinguen dos modos de cámara: normal si se proporcionan los coeficientes de distorsión, o fisheye sin coeficientes si se proporciona noArray()</p><ul>
<li></li>
</ul>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="adb622f403aea686f757df4e884ea622a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ORB_SLAM2::Frame::antidistorsionarProyeccionEquidistante </td>
          <td>(</td>
          <td class="paramtype">cv::Mat &amp;&#160;</td>
          <td class="paramname"><em>puntos</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Antidistorsiona puntos según el modelo de cámara fisheye de proyección equidistante sin coeficientes de distorsión. </p>
<p>Usa mK, la matriz intrínseca, para pasar los puntos distorsionados a escala focal, y luego de antidistorsionarlos pasarlos de nuevo a escala de imagen.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">puntos</td><td>Mat de nx2 float, cada par corresponde a un punto. Entrada y salida. Los puntos se corrigen y el resultado se guarda en el mismo lugar.</td></tr>
  </table>
  </dd>
</dl>
<p>Sólo usado desde <a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html#a2a97fc690d8c1cd5e975d19440a31657" title="Calcula los puntos singulares de mvKeysUn. ">Frame::UndistortKeyPoints</a> y <a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html#a420f0369833f856df1973410ea39b335" title="Calcula los vértices del cuadro andistorsionado. ">Frame::ComputeImageBounds</a> </p>

</div>
</div>
<a id="aa3ba21cd44638b322db024cba2b9c19e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ORB_SLAM2::Frame::AssignFeaturesToGrid </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Asigna los puntos singulares a sus celdas de la grilla. </p>
<p>La imagen de divide en una grilla para detectar puntos de manera más homogénea. Luego de "desdistorsionar" las coordenadas de los puntos singulares detectados, este método crea un vector de puntos singulares para cada celda de la grillam, y lo puebla. </p>

</div>
</div>
<a id="ac748d2318f9a409406dba4910ff5ef8e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ORB_SLAM2::Frame::ComputeBoW </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Computa BoW para todos los descriptores del cuadro. </p>
<p>Los guarda en la propiedad mBowVec, que es del tipo BowVector. </p>

</div>
</div>
<a id="a420f0369833f856df1973410ea39b335"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ORB_SLAM2::Frame::ComputeImageBounds </td>
          <td>(</td>
          <td class="paramtype">const cv::Mat &amp;&#160;</td>
          <td class="paramname"><em>imLeft</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Calcula los vértices del cuadro andistorsionado. </p>
<p>Define mnMinX, mnMaxX, mnMinY, mnMaxY. Si no hay distorsión, el resultado es trivial con origen en (0,0).</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">imLeft</td><td>Imagen, solamente a los efectos de medir su tamaño con .rows y .cols .</td></tr>
  </table>
  </dd>
</dl>
<p>Invocado sólo desde el constructor. </p>

</div>
</div>
<a id="a626aef981e9fd9caff63bf93f1abf47f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ORB_SLAM2::Frame::ExtractORB </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>flag</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const cv::Mat &amp;&#160;</td>
          <td class="paramname"><em>im</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Procede con la extracción de descriptores ORB. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">flag</td><td>false para monocular, o para cámara izquierda. true para cámara derecha. Siempre se invoca con false. </td></tr>
    <tr><td class="paramname">im</td><td>Imagen sobre la que extraer los descriptores.</td></tr>
  </table>
  </dd>
</dl>
<p>Los descriptores se conservan en mDescriptors. </p>

</div>
</div>
<a id="a48c8983df3a521ed7439d9654b28e390"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">cv::Mat ORB_SLAM2::Frame::GetCameraCenter </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Devuelve el vector de la posición de la cámara, el centro de la cámara. </p>

</div>
</div>
<a id="a922a340f438ed0ddd2d7d2a9f95872b6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">vector&lt; size_t &gt; ORB_SLAM2::Frame::GetFeaturesInArea </td>
          <td>(</td>
          <td class="paramtype">const float &amp;&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const float &amp;&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const float &amp;&#160;</td>
          <td class="paramname"><em>r</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int&#160;</td>
          <td class="paramname"><em>minLevel</em> = <code>-1</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int&#160;</td>
          <td class="paramname"><em>maxLevel</em> = <code>-1</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Selecciona los puntos dentro de una ventana cuadrada de centro x,y y lado r. </p>
<p>Recorre todos los niveles del frame filtrando los puntos por coordenadas. Se utiliza para reducir los candidatos para macheo. </p>

</div>
</div>
<a id="a96ec2c272f2ecea3f94b8472add80478"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">cv::Mat ORB_SLAM2::Frame::GetRotationInverse </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Devuelve la inversa de la rotación. </p>

</div>
</div>
<a id="a0929e100e3380dba1baba12dfa8904c4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ORB_SLAM2::Frame::isInFrustum </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_map_point.html">MapPoint</a> *&#160;</td>
          <td class="paramname"><em>pMP</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>viewingCosLimit</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Indica si un determinado punto 3D se encuentra en el subespacio visual (frustum) del cuadro. </p>
<p>El subespacio visual es una pirámide de base cuadrilátera, cuyos vértices son los del cuadro pero antidistorsionados. viewingCosLimit es una manera de limitar el alcance del frustum. </p>

</div>
</div>
<a id="ae2bc4b1482d2010511da5423d298c9bd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ORB_SLAM2::Frame::PosInGrid </td>
          <td>(</td>
          <td class="paramtype">const cv::KeyPoint &amp;&#160;</td>
          <td class="paramname"><em>kp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&#160;</td>
          <td class="paramname"><em>posX</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&#160;</td>
          <td class="paramname"><em>posY</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Calcula las coordenadas de la celda en la grilla, a la que pertenece un punto singular. </p>
<p>Informa las coordenadas en los argumentos posX y posY pasados por referencia. Devuelve true si el punto está en la grilla, false si no. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">kp</td><td>Punto singular "desdistorsionado". </td></tr>
    <tr><td class="paramname">posX</td><td>Coordenada X de la celda a la que pertence el punto. </td></tr>
    <tr><td class="paramname">posY</td><td>Coordenada Y de la celda a la que pertence el punto. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a95cf2ea68735ef3e8c2d820eada11bf4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ORB_SLAM2::Frame::SetPose </td>
          <td>(</td>
          <td class="paramtype">cv::Mat&#160;</td>
          <td class="paramname"><em>Tcw</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Setter de pose. </p>
<p>Usado por varios métodos para establecer o corregir la pose del cuadro. Luego de establecer la nueva pose se recalculan sus diferentes representaciones con UpdatePoseMatrices, como el vector traslación o la matriz rotación.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">Tcw</td><td>Nueva pose, matriz de rototraslación en coordenadas homogéneas, de 4x4. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a2a97fc690d8c1cd5e975d19440a31657"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ORB_SLAM2::Frame::UndistortKeyPoints </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Calcula los puntos singulares de mvKeysUn. </p>
<p>Antidistorsiona los puntos detectados, que están en mvKeys, y los guarda en mvKeysUn en el mismo orden. Si no hay distorsión, UndistortKeyPoints retorna rápidamente unificando mvKeysUn = mvKeys en un mismo vector. </p>

</div>
</div>
<a id="a0a18d3024a23f6fa2cab9c7d987598c2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ORB_SLAM2::Frame::UpdatePoseMatrices </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Calcula las matrices de posición mRcw, mtcw y mOw a partir de la pose mTcw. </p>
<p>Estas matrices son una manera de exponer la pose, no se utilizan en la operación de ORB-SLAM. <a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html#a0a18d3024a23f6fa2cab9c7d987598c2" title="Calcula las matrices de posición mRcw, mtcw y mOw a partir de la pose mTcw. ">UpdatePoseMatrices()</a> extrae la inforamción de mTcw, la matriz que combina la pose completa. </p>

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a8dc5552a9cb0f5aa8ba2c13b5e7c95fb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ORB_SLAM2::Frame::camaraModo</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Modo de cámara, 0 normal, 1 fisheye sin distorsión. </p>

</div>
</div>
<a id="a5f2803f215bc30016bd0833d8c7d5942"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">float ORB_SLAM2::Frame::cx</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Parámetro intrínseco. </p>

</div>
</div>
<a id="abf6a631b787270da2d5b3c0f53615b62"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">float ORB_SLAM2::Frame::cy</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Parámetro intrínseco. </p>

</div>
</div>
<a id="ab505e3f86afa1c3d16b98fda89ec394c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">float ORB_SLAM2::Frame::fx</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Parámetros intrínsecos fx, fy, cx, cy. </p>
<p>Parámetro intrínseco. </p>

</div>
</div>
<a id="a226a0adc90bc7a09502fc4db00ee20d7"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">float ORB_SLAM2::Frame::fy</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Parámetro intrínseco. </p>

</div>
</div>
<a id="a617c29a929afd74d599c9e41fc71abea"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">float ORB_SLAM2::Frame::invfx</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Inversa del parámetro intrínseco. </p>

</div>
</div>
<a id="ad1dfdeb6378b11477c1b94233f881345"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">float ORB_SLAM2::Frame::invfy</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Parámetro intrínseco. </p>

</div>
</div>
<a id="a950131e5ed7fca2a73fc5a50e6d9b2de"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float ORB_SLAM2::Frame::mb</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>No usado en monocular. </p>

</div>
</div>
<a id="afb4090340565194b372b2ce0d95f16fb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float ORB_SLAM2::Frame::mbf</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>No usado en monocular. </p>

</div>
</div>
<a id="a9f57238f88850695d8cf032b5af0dad6"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ORB_SLAM2::Frame::mbInitialComputations =true</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Esta variable se pone en uno con un argumento del constructor solamente cuando se crea el primer <a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html" title="Frame representa un cuadro, una imagen, con los puntos singulares detectados. ">Frame</a>. </p>
<p>true para cálculos de variables de clase, que no cambian luego. </p>

</div>
</div>
<a id="a68bbc187861a8e5c0ed9d92b5308c2cb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_d_bo_w2_1_1_bow_vector.html">DBoW2::BowVector</a> ORB_SLAM2::Frame::mBowVec</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Vector BoW correspondiente a los puntos singulares. </p>

</div>
</div>
<a id="a0dfc1a363215ad0a09303e612a1ffbe7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">cv::Mat ORB_SLAM2::Frame::mDescriptors</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Descriptores ORB en el formato Mat, tal como los devuelve opencv. </p>
<p>mDescritorRight no se usa, se pasa en el constructor de copia. </p>

</div>
</div>
<a id="afe3cee153dda7e06d5004fd959fcd88e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">cv::Mat ORB_SLAM2::Frame::mDescriptorsRight</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="aef15cff1b0d7572f49975d3200ffd140"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">cv::Mat ORB_SLAM2::Frame::mDistCoef</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Coeficientes de distorsión de cámara mDistCoef. </p>

</div>
</div>
<a id="a8153622c07ed98421bd7c7b2b7451b03"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_d_bo_w2_1_1_feature_vector.html">DBoW2::FeatureVector</a> ORB_SLAM2::Frame::mFeatVec</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Vector "Feature" correspondiente a los puntos singulares. </p>

</div>
</div>
<a id="a010327bee872485894b5905d17462086"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">float ORB_SLAM2::Frame::mfGridElementHeightInv</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>mfGridElementHeightInv es la inversa del altoo de la celda en píxeles. </p>
<p>Los puntos de la imagen antidistorsionada se dividen en celdas con una grilla de FRAME_GRID_COLS por FRAME_GRID_ROWS, para reducir la complejidad del macheo. </p>

</div>
</div>
<a id="afc2f7799428918dbbf46f7dfc4ccd59d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">float ORB_SLAM2::Frame::mfGridElementWidthInv</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>mfGridElementWidthInv es la inversa del ancho de la celda en píxeles. </p>
<p>Los puntos de la imagen antidistorsionada se dividen en celdas con una grilla de FRAME_GRID_COLS por FRAME_GRID_ROWS, para reducir la complejidad del macheo. </p>

</div>
</div>
<a id="ad3ddefb0665fb5128391a7e59a236e9a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float ORB_SLAM2::Frame::mfLogScaleFactor</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Factor de escala logarítmico. </p>

</div>
</div>
<a id="aab180286bac29f4e030ce850c51c435c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float ORB_SLAM2::Frame::mfScaleFactor</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Factor de escala entre niveles de la pirámide. </p>

</div>
</div>
<a id="a194dca06186458639d46234d828afeed"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt;std::size_t&gt; ORB_SLAM2::Frame::mGrid[<a class="el" href="_frame_8h.html#a3ef79fa8924a9c5df3cddac58a52ab0c">FRAME_GRID_COLS</a>][<a class="el" href="_frame_8h.html#a9550f0488f3dac9a5c56f0d3c07c01c1">FRAME_GRID_ROWS</a>]</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a6508d43259538370dcb77911122dc85b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">cv::Mat ORB_SLAM2::Frame::mK</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Matriz K intrínseca, de cámara. </p>
<p>Coeficientes de distorsión mDistCoef, parámetros intrínsecos fx, fy, cx, cy. </p>

</div>
</div>
<a id="acd59686475a89bfdfcae316dfa6b6069"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">long unsigned int ORB_SLAM2::Frame::mnId</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Id incremental que identifica a este frame. </p>

</div>
</div>
<a id="ade32bf37203ae9578e4bd9a02cc0f7c1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">float ORB_SLAM2::Frame::mnMaxX</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Vértices de la imagen antidistorsionada: mnMinX, mnMinY, mnMaxX, mnMaxY. </p>

</div>
</div>
<a id="ac63dd82413eba002462109e625207ab4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">float ORB_SLAM2::Frame::mnMaxY</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Vértices de la imagen antidistorsionada: mnMinX, mnMinY, mnMaxX, mnMaxY. </p>

</div>
</div>
<a id="ac119d458dd562196240e72b7dbb54f3d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">float ORB_SLAM2::Frame::mnMinX</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Vértices de la imagen antidistorsionada: mnMinX, mnMinY, mnMaxX, mnMaxY. </p>

</div>
</div>
<a id="a38d30251e5bf5e44411e83b688dfac97"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">float ORB_SLAM2::Frame::mnMinY</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Vértices de la imagen antidistorsionada: mnMinX, mnMinY, mnMaxX, mnMaxY. </p>

</div>
</div>
<a id="a4c4b02f27be28aec6cb8bb1bab3f622f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ORB_SLAM2::Frame::mnScaleLevels</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Cantidad de niveles en la pirámide. </p>

</div>
</div>
<a id="a4315630bb510b424d8b089975135199a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">cv::Mat ORB_SLAM2::Frame::mOw</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Vector centro de cámara, igual al vector traslación. </p>

</div>
</div>
<a id="a5c4f28562114c30c6276f2e42aac6607"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_o_r_bextractor.html">ORBextractor</a>* ORB_SLAM2::Frame::mpORBextractorLeft</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Extractor usado para extraer descriptores. </p>

</div>
</div>
<a id="a4c54c9963da838cd6fa83a65930bd1b7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespace_o_r_b___s_l_a_m2.html#a2fafba714858cab1bb18d438e2e83c5d">ORBVocabulary</a>* ORB_SLAM2::Frame::mpORBvocabulary</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Vocabulario BOW para clasificar descriptores. </p>
<p>"Algoritmo" para extraer los descriptores. El framework permite al programador probar diferentes extractores; ORB-SLAM utiliza solamente <a class="el" href="class_o_r_b___s_l_a_m2_1_1_o_r_bextractor.html" title="Empaqueta todos los métodos de detección de puntos singulares y extracción de descriptores. ">ORBextractor</a>. </p>

</div>
</div>
<a id="a4f5187c3a75ef493687fa0582fed0aa8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_key_frame.html">KeyFrame</a>* ORB_SLAM2::Frame::mpReferenceKF</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><a class="el" href="class_o_r_b___s_l_a_m2_1_1_key_frame.html" title="Cuadro clave, keyframe. ">KeyFrame</a> de referencia. </p>

</div>
</div>
<a id="a3923c4b0fc83ab5fdba34ddd823621c6"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">cv::Mat ORB_SLAM2::Frame::mRcw</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Matriz R de rotación. </p>
<p>Se actualizan con <a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html#a0a18d3024a23f6fa2cab9c7d987598c2" title="Calcula las matrices de posición mRcw, mtcw y mOw a partir de la pose mTcw. ">UpdatePoseMatrices()</a>. </p>

</div>
</div>
<a id="afda03a992077579e0ed3c20240eef276"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">cv::Mat ORB_SLAM2::Frame::mRwc</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Matriz de rotación inversa, del mundo respecto de la cámara. </p>

</div>
</div>
<a id="a3be6708cfd359fae30307f9408abd6f9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">cv::Mat ORB_SLAM2::Frame::mTcw</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Pose de la cámara. </p>
<p>Matriz de 4x4 de rototraslación en coordenadas homogéneas. Es cv:Mat(4,4,CV_32F), y sus elementos son float.</p>
<p>La posición de la cámara (vector traslación) se obtiene de la última columna de esta matriz.</p>
<p>La unidad de medida se establece durante la inicialización igual a la profundidad media de la escena. Esto significa que la unidad dependerá de los puntos 3D triangulados en la inicialización.</p>
<p>El sistema de coordenadas 3D de una cámara se relaciona con el 2D de su proyección manteniendo paralelos los ejes X e Y, y estableciendo Z hacia adelante. De este modo X apunta a la derecha e Y apunta hacia abajo (en esto es contrario al sistema de coordenadas estándar). Los vectores 3D homogéneos tienen la disposición tradicional:</p>
<p>V = [vx, vy, vz, 1]</p>
<p>Las poses son matrices de 4x4 como ésta, sus subíndices indican sujeto y referencia. Tcw es T de cámara respecto de world. Las poses se combinan así:</p>
<p>Tac = Tab * Tbc</p>
<p>Su valor se actualiza mediante SetPose, que además extrae la matriz rotación y el vector traslación con UpdatePoseMatrices. Estos datos extraídos se calculan para presentación, pero no son usados por el algoritmo, que sólo utiliza mTcw.</p>
<p><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html" title="Frame representa un cuadro, una imagen, con los puntos singulares detectados. ">Frame</a> no calcula mTcw. Esta matriz es calculada y pasada al cuadro con SetPose, en:</p><ul>
<li><a class="el" href="class_o_r_b___s_l_a_m2_1_1_tracking.html" title="Objeto único que se ejecuta en su propio Trhead, y se inicia con Run(). ">Tracking</a>, copiando de un cuadro anterior, inicializando con la pose cartesiana, o estimando por modelo de movimiento.</li>
<li><a class="el" href="class_o_r_b___s_l_a_m2_1_1_optimizer.html#a7415d78b8a2323b88e108fa1ea3bf2d3" title="Cómputo de la pose de un cuadro. ">Optimizer::PoseOptimization</a>, invocado desde varios métodos de <a class="el" href="class_o_r_b___s_l_a_m2_1_1_tracking.html" title="Objeto único que se ejecuta en su propio Trhead, y se inicia con Run(). ">Tracking</a>. Aquí es donde se hace el verdadero cálculo de pose.</li>
<li></li>
</ul>

</div>
</div>
<a id="a31b2fa3a66f2855ec0c71c9ba34cfa8f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">cv::Mat ORB_SLAM2::Frame::mtcw</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Vector t de traslación. </p>
<p>Se actualizan con <a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html#a0a18d3024a23f6fa2cab9c7d987598c2" title="Calcula las matrices de posición mRcw, mtcw y mOw a partir de la pose mTcw. ">UpdatePoseMatrices()</a>. </p>

</div>
</div>
<a id="a15e0251e1e18b84f385ad817f0e8ba1a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float ORB_SLAM2::Frame::mThDepth</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>No usado en monocular. </p>

</div>
</div>
<a id="a7987de59d3b4bf655614e19db0c90278"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double ORB_SLAM2::Frame::mTimeStamp</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Time stamp de la captura de la imagen. </p>
<p>Sólo para propósitos de registro e investigación, el algoritmo no lo utiliza. </p>

</div>
</div>
<a id="aa05cc57f36b5b04a2e1690e576c93fc8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt;bool&gt; ORB_SLAM2::Frame::mvbOutlier</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Flag que indica si hay outliers asociados en mvpMapPoints. </p>

</div>
</div>
<a id="a4232b92ebf890728291ef2a66e7d39bb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt;float&gt; ORB_SLAM2::Frame::mvDepth</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>-1 para monocular. </p>
<p>Se pasa en el constructor de copia de <a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html" title="Frame representa un cuadro, una imagen, con los puntos singulares detectados. ">Frame</a>. </p>

</div>
</div>
<a id="a1979f999e1d3a858bf7db733791a477e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">vector&lt;float&gt; ORB_SLAM2::Frame::mvInvLevelSigma2</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Inversa de mvLevelSigma2. </p>

</div>
</div>
<a id="a4c7ed1316a886b9a7c3f02ee13219b8c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">vector&lt;float&gt; ORB_SLAM2::Frame::mvInvScaleFactors</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Inversa de mvScaleFactors. </p>

</div>
</div>
<a id="a86563de6facec0433e31f726723057e4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt;cv::KeyPoint&gt; ORB_SLAM2::Frame::mvKeys</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Vector de puntos singulares obtenidos por el detector, tal como los devuelve opencv. </p>

</div>
</div>
<a id="a13737fa65f0ce693275f1919240bac35"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt;cv::KeyPoint&gt; ORB_SLAM2::Frame::mvKeysUn</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Vector de puntos antidistorsionados, mvKeys corregidos según los coeficientes de distorsión. </p>

</div>
</div>
<a id="afba8ed34e98d14761be2c1922863cd65"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">vector&lt;float&gt; ORB_SLAM2::Frame::mvLevelSigma2</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Cuadrado de mvScaleFactos. </p>

</div>
</div>
<a id="a48e791ae28b483211dad6b3474027935"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt;<a class="el" href="class_o_r_b___s_l_a_m2_1_1_map_point.html">MapPoint</a>*&gt; ORB_SLAM2::Frame::mvpMapPoints</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Vector de puntos 3D del mapa asociados a los puntos singulares. </p>
<p>Este vector tiene la misma longitud que mvKeys y mvKeysUn. Las posiciones sin asociación son NULL. </p>

</div>
</div>
<a id="a55d7bd3fa5d3fa8d2ecf18609e91f98e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">vector&lt;float&gt; ORB_SLAM2::Frame::mvScaleFactors</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Vector de factores de escala de cada nivel de la pirámide. </p>

</div>
</div>
<a id="a09a1957b966542e640ecabc41ec76c16"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt;float&gt; ORB_SLAM2::Frame::mvuRight</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>-1 para monocular. </p>

</div>
</div>
<a id="a0035828f1744f1bdd4ae8681e7cbbd32"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ORB_SLAM2::Frame::N</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Cantidad de puntos singulares. </p>

</div>
</div>
<a id="a1ea8a00151931d155747283850467733"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">long unsigned int ORB_SLAM2::Frame::nNextId =0</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Id incremental con el valor para el frame siguiente. </p>
<p>Es una variable de clase que lleva la cuenta del número de id. El id de un <a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html" title="Frame representa un cuadro, una imagen, con los puntos singulares detectados. ">Frame</a> se asigna con mnId=nNextId++; </p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>/home/alejandro/Desarrollo eclipse/os1/include/<a class="el" href="_frame_8h_source.html">Frame.h</a></li>
<li>/home/alejandro/Desarrollo eclipse/os1/src/<a class="el" href="_frame_8cc.html">Frame.cc</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="namespace_o_r_b___s_l_a_m2.html">ORB_SLAM2</a></li><li class="navelem"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_frame.html">Frame</a></li>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.12 </li>
  </ul>
</div>
</body>
</html>
